Pausing
and Resuming Playback
You can
interrupt playback of a device or file associated with an MCIWnd window by
using the MCIWndPause
The following
example creates an MCIWnd window and plays an AVI file. Pause and resume menu
commands are available to the user to interrupt and restart playback.
MCIWnd window
styles are changed temporarily by using the MCIWndChangeStyles
case WM_COMMAND:
switch
(wParam)
{
case
IDM_CREATEMCIWND: // creates
and plays clip
g_hwndMCIWnd = MCIWndCreate(hwnd,
g_hinst,
WS_CHILD | WS_VISIBLE | //
standard styles
MCIWNDF_NOPLAYBAR | //
hides toolbar
MCIWNDF_NOTIFYMODE, //
notifies of mode changes
"sample.avi");
MCIWndPlay(g_hwndMCIWnd);
break;
case
IDM_PAUSEMCIWND: // pauses
playback
MCIWndPause(g_hwndMCIWnd);
MessageBox(hwnd, "MCIWnd", "Pausing Playback",
MB_OK);
break;
case
IDM_RESUMEMCIWND: // resumes playback
MCIWndChangeStyles( // hides
error dialog messages
g_hwndMCIWnd, // MCIWnd
window
MCIWNDF_NOERRORDLG, // mask of
style to change
MCIWNDF_NOERRORDLG); // suppresses MCI error dialogs
lResult
= MCIWndResume(g_hwndMCIWnd);
if(lResult){ //
device doesn't resume
MessageBox(hwnd, "MCIWnd",
"Resume with Stop and Play", MB_OK);
MCIWndStop(g_hwndMCIWnd);
MCIWndPlay(g_hwndMCIWnd);
MCIWndChangeStyles( //
resumes original styles
g_hwndMCIWnd,
MCIWNDF_NOERRORDLG,
NULL);
}
break;
}
break;
// Handle other messages here.